package com.tucy.logistics.common.entity.organization;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;
import java.util.List;


import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.tucy.logistics.common.base.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.validator.constraints.Length;

/**
* 地理位置表
* @TableName organization_position
*/
@Setter
@Getter
@TableName("organization_position")
public class OrganizationPosition extends BaseEntity implements Serializable {

    /**
    * 地理位置编号
    */
    @NotNull(message="[地理位置编号]不能为空")
    @ApiModelProperty("地理位置编号")
    private Long id;
    /**
    * 地理从属编号
    */
    @NotNull(message="[地理从属编号]不能为空")
    @ApiModelProperty("地理从属编号")
    private Long parentId;
    /**
    * 名称
    */
    @NotBlank(message="[名称]不能为空")
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("名称")
    @Length(max= 40,message="编码长度不能超过40")
    private String name;
    /**
    * 类型：1-省份，2-城市，3-区县
    */
    @NotNull(message="[类型：1-省份，2-城市，3-区县]不能为空")
    @ApiModelProperty("类型：1-省份，2-城市，3-区县")
    private Integer type;
    /**
     * 经度
     */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("经度")
    @Length(max= 255,message="编码长度不能超过255")
    private String longitude;
    /**
    * 纬度
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("纬度")
    @Length(max= 255,message="编码长度不能超过255")
    private String latitude;
    /**
     * 地区编码
     */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("地区编码")
    @Length(max= 255,message="编码长度不能超过255")
    private String adcode;
    /**
     * 下属地区
     */
    @TableField(exist = false)
    private List<OrganizationPosition> children;
}
